#ifndef __EXCEPTION_H_f57dbdf4eeb6488ba57a26c18f8494d3__
#define __EXCEPTION_H_f57dbdf4eeb6488ba57a26c18f8494d3__

#include "stdint.h"

void exception_install();

void _cdecl divide_by_zero_fault(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl single_step_trap(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl nmi_trap(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl breakpoint_trap(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl overflow_trap(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl bounds_check_fault(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl invalid_opcode_fault(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl no_device_fault(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl double_fault_abort(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl invalid_tss_fault(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl no_segment_fault(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl stack_fault(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl general_protection_fault(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl page_fault(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl fpu_fault(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl alignment_check_fault(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl machine_check_abort(uint32_t eflags,uint32_t cs,uint32_t eip);
void _cdecl simd_fpu_fault(uint32_t eflags,uint32_t cs,uint32_t eip);

#endif